package com.ryder.wx.handler;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * 描述: 关注事件触发的处理器
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0 // 版本号，指明从哪个版本开始
 * 更新日期: 2025/02/24
 */
@Component
@Slf4j
public class SubscribeMsgHandler implements WxChatMsgHandler{
    @Override
    public WxChatMsgTypeEnum getMsgType() {
        return WxChatMsgTypeEnum.SUBSCRIBE;
    }

    @Override
    public String dealMsg(Map<String, String> msgMap) {
        log.info("触发关注事件！");
        String toUserName = msgMap.get("ToUserName");
        String fromUserName = msgMap.get("FromUserName");
        String subscribeContent = "\uD83D\uDC4B 欢迎来到 ryder-club社区！\n" +
                "这里是一个专注为 码农程序猿 打造，提供学习、共享、刷题、面试准备以及交流互动的平台。\n" +
                "\uD83D\uDCCC 关注我，获取最新的技术干货、项目经验和实战教程！\n" +
                "\uD83D\uDCAC 有问题？欢迎留言交流，一起进步！" +
                "\uD83D\uDCAC 回复【验证码】，即可登录账号！";
        String replyContent = "<xml>\n" +
                "  <ToUserName><![CDATA[" + fromUserName + "]]></ToUserName>\n" +
                "  <FromUserName><![CDATA[" + toUserName + "]]></FromUserName>\n" +
                "  <CreateTime>12345678</CreateTime>\n" +
                "  <MsgType><![CDATA[text]]></MsgType>\n" +
                "  <Content><![CDATA[" + subscribeContent + "]]></Content>\n" +
                "</xml>";
        return replyContent;
    }
}
